The present embodiments relate to a method and a device for two-dimensional representation of an object using volume rendering.
The present embodiments lie in the field of volume rendering (e.g., representing or visualizing three-dimensional bodies or objects). Modeling, reconstructing or visualizing three-dimensional objects is used in a wide range of applications in the fields of medicine (e.g. CT, PET, MR, ultrasound), physics (e.g. electronic structure of large molecules) or geophysics (e.g., composition and position of earth strata). The composition of the object under examination may be examined by irradiation (e.g., using electromagnetic waves or sound waves). The scattered radiation is detected, and properties of the body are calculated from the detected values. The result may be a physical quantity (e.g., density, proportion of tissue constituents, elasticity, velocity) with a value calculated for the body. A virtual grid may be used, and the value of the quantity is calculated at the grid points of this grid. The grid points, or the values of the quantity at these positions, may be voxels. The voxels may exist in the form of “gray values.”
Volume rendering is used to generate, from the voxels, a three-dimensional representation of the object or body under examination on a two-dimensional display surface (e.g., a screen). In volume rendering, pixels are generated from the voxels (e.g., by the intermediate act of interpolating object points from the voxels), and the image of the two-dimensional image display is composed from the pixels. In order to visualize three dimensions on a two-dimensional display, alpha compositing may be performed. In alpha compositing, voxels, or volume points formed from voxels, are assigned both colors and transparency values (e.g., values for the opacity). “Opacity” may be the transparency or the concealing power of different layers of the body. An object point may be assigned three colors in the form of a three-tuple that codes the red, green and blue color components (“RGB value”), and an alpha value that parameterizes the opacity. Together, these parameters form a color value RGBA, which is combined or blended with the color values of other object points into a color value for the pixel (for visualizing partially transparent objects, blending may be performed using alpha blending).
In one embodiment, an illumination model is employed for assigning a suitable color value. The illumination model takes into account lighting effects (e.g., reflections of the light at the outer surface or surfaces of inner layers of the object under examination) under modeled or simulated irradiation of the object for visualization purposes.
The literature contains a number of illumination models that are used. A commonly used model, for example, is the Phong or Blinn-Phong model.
Ray casting (i.e., simulating incident light rays to display or visualize the body) may be used for volume rendering.
In ray casting, imaginary rays that emanate from the eye of an imaginary observer are sent through the body under examination or object under examination. Along the rays, RGBA values for sampling points are determined from the voxels, and combined into pixels for a two-dimensional image using alpha compositing or alpha blending. This process may take account of illumination effects using one of the illumination models discussed above as part of a method referred to as “shading.”
For applications in which manipulations (e.g., perspective changes, color changes, clippings) involve performing volume rendering again for every change, the illumination model may only take account of local effects because otherwise, unacceptable delays may be experienced by the user during the application. This results in significant reductions in quality, however. A more realistic representation may be achieved by methods that also take into account global effects. In this case, it is useful to differentiate between two effects, because of the different methods used in computation. The first effect is shadows. The result of the shadow effect is that for a point on a simulated ray through an object, the path between the point and the existing light source or light sources contains obstructions (e.g., the light ray cannot reach the point unobstructed). A method for computing this shadow effect is to send a ray from the observed point towards the light source (or to send rays to the different light sources) in order to determine which components of the light may penetrate to the point.
The effect of diffuse light (e.g., “ambient occlusion”) is distinguished from the shadow effect. This ambient occlusion effect is caused by diffuse light and is important because the ambient occlusion makes structures visible that are not visible solely by the direct light. The light scatter may result in light hitting an object from all directions. The diffuse light may be absorbed by matter, resulting in non-uniform illumination of the object by the diffuse-light component. An example of this effect is the corners of a room that appear darker than the center of the room. The absorption of diffuse light is examined by the same method, for example, that is also used to calculate the shadows. Since the diffuse light does not come from a fixed source, however, but from all directions, rays are emitted in a stochastic manner from a hemisphere that corresponds locally with a surface, and an assessment thereby performed as to how much diffuse light is absorbed. “Ray tracing” may be sending rays to determine illumination properties, and “Monte Carlo ray tracing” may be stochastic ray sampling using ambient occlusion. Zhukov et al. have presented a definition for ambient occlusion. See Zhukov, S., et al., “An ambient light illumination model,” Rendering Techniques '98 (1998): pp. 45-55. According to this definition, the value of the ambient occlusion at a point of a surface is the amount of light of the ambient light that may reach this point.
Ray tracing methods are highly complex. Rays are generated from each sampling point on the simulated ray (e.g., one ray for each light source, and a multiplicity for ambient occlusion). Ray-tracing methods may also be “brute-force” methods, again with regard to this complexity. The corresponding complexity may be too high for interactive changes to the representation of the object, which is why a more realistic representation of illumination effects is often dispensed with, even though shadows and ambient occlusion are global effects. Current methods, which take into account global illumination effects, use either extensive data pre-processing and/or the construction of additional, pre-computed data structures (deep shadow maps, see Hadwiger, M., et al., “Gpu accelerated deep shadow maps for direct volume rendering,” Graphics Hardware, Proceedings of the 21st ACM SIGGRAPH/EUROGRAPHICS Symposium on Graphics Hardware (2006): pp. 49-52; shadow mapping, see Kniss, J. et al., “Interactive Translucent Volume Rendering and Procedural Modelling,” Visulalization, Proceedings of the conference on Visualization '02 (2002): pp. 109-16; summed area tables, see U.S. Provisional Application No. 60/698,830; computing local histogramms, see Ropinski, T., et al., “Interactive volume rendering with dynamic ambient occlusion and color bleeding,” Computer Graphics Forum, Vol. 27, No. 2 (2008): 567-76; and vicinity shading, see Stewart, A. J., “Vicinity shading for enhanced perception of volumetric data,” Visualization, Proceedings of the 14th IEEE Visualization 2003 (2003): pp. 355-62). Other methods are limited by their potential applications (e.g., half-angle slicing cannot be applied to ray casting, for example).